home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / cross / devpic.lha / devpic / source / picasm / examples / picmac.h < prev   
Text File  |  2000-02-27  |  1KB  |  92 lines

  1. ;
  2. ; picmac.h
  3. ;
  4.  
  5. skipc    macro    ; skip if carry
  6.     btfss    STATUS,C
  7.     endm
  8.  
  9. skipnc    macro    ; skip if not carry
  10.     btfsc    STATUS,C
  11.     endm
  12.  
  13. skipz    macro    ; skip if zero
  14.     btfss    STATUS,Z
  15.     endm
  16.  
  17. skipnz    macro    ; skip if not zero
  18.     btfsc    STATUS,Z
  19.     endm
  20.  
  21. skpos    macro    ; skip if reg >= 0 (reg)
  22.     btfsc    \1,7
  23.     endm
  24.  
  25. skneg    macro    ; skip if reg < 0 (reg)
  26.     btfss    \1,7
  27.     endm
  28.  
  29. setc    macro    ; set carry
  30.     bsf    STATUS,C
  31.     endm
  32.  
  33. clrc    macro    ; clear carry
  34.     bcf    STATUS,C
  35.     endm
  36.  
  37. bc    macro    ;branch if carry
  38.     skipnc
  39.     goto    \1
  40.     endm
  41.  
  42. bnc    macro    ;branch if no carry
  43.     skipc
  44.     goto    \1
  45.     endm
  46.  
  47. bz    macro    ;branch if zero
  48.     skipnz
  49.     goto    \1
  50.     endm
  51.  
  52. bnz    macro    ;branch if not zero
  53.     skipz
  54.     goto    \1
  55.     endm
  56.  
  57. bpos    macro    ;branch if reg >= 0 (reg,dest_addr)
  58.     btfss    \1,7
  59.     goto    \2
  60.     endm
  61.  
  62. bneg    macro    ;branch if reg < 0 (reg,dest_addr)
  63.     btfsc    \1,7
  64.     goto    \2
  65.     endm
  66.  
  67. brset    macro    ;branch if bit set (reg,bit,dest_addr)
  68.     btfsc    \1,\2
  69.     goto    \3
  70.     endm
  71.  
  72. brclr    macro    ;branch if bit clear (reg,bit,dest_addr)
  73.     btfss    \1,\2
  74.     goto    \3
  75.     endm
  76.  
  77. ;
  78. ; save W/STATUS (interrupt entry)
  79. ;
  80. save_w_stat macro
  81.     movwf    temp_w
  82.     swapf    STATUS,W
  83.     movwf    temp_s
  84.     endm
  85.  
  86. restore_w_stat macro
  87.     swapf    temp_s,W
  88.     movwf    STATUS
  89.     swapf    temp_w,F
  90.     swapf    temp_w,W
  91.     endm
  92.